package pincipal.pack;


import java.io.InputStream;
import java.util.ArrayList;

import database.Consulta;

import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Intent;
import android.database.Cursor;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.view.Window;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;


public class CargarMaterialesExcel extends Activity {

	ArrayList<String> datosAdaptador = new ArrayList<String>();
	ArrayAdapter<String> adaptadorSimple;
	InputStream archivoExcel;
	TextView cargando;
	private ProgressDialog pd = null;

	@Override
	protected void onCreate(Bundle savedInstanceState) 
	{
		super.onCreate(savedInstanceState);
		requestWindowFeature( Window.FEATURE_NO_TITLE );
		setContentView(R.layout.cargar_base_de_datos);		
		cargando = (TextView)findViewById(R.id.cargando);
		archivoExcel = getResources().openRawResource(R.raw.database);
		this.pd = ProgressDialog.show(this, "Cargando Materiales", "Por favor espere...", true, false);
		new DownloadTask().execute("Parametros que necesite el DownloadTask");

	}
	
	private void cargarMateriales()
	{
		try
		{
			Workbook workbook = Workbook.getWorkbook(archivoExcel);
			Sheet sheet = workbook.getSheet(0);
			for (int fila = 3, i = 0; fila < 350; fila++, i++)
			{
				String[] contenido = new String[5];
				String item = "";
				for (int columna = 0; columna < 5; columna++)
				{
					Cell celda = sheet.getCell(columna, fila);
					if (celda.getContents().equals(""))
					{
						contenido[columna] = " ";
					}
					
					else
					{
						contenido[columna] = celda.getContents();
						item = item + " " + contenido[columna] + " ";
					}

				}
				Consulta.insertMaterial(this, this.generarCodigo(), contenido[1], contenido[2], contenido[3], contenido[4]);
				
			}
			archivoExcel.close();
			
		}
		catch (Exception ex)
		{
			Log.e("Ficheros", ex.toString());
		}
	}
	
	private int generarCodigo()
	{
		int codigo = 0;
		String tipo = "material";
		Cursor consultId = Consulta.consultIdentificador(CargarMaterialesExcel.this, "'"+tipo+"'");
		if (consultId.moveToFirst())
        {
        	do {
    			codigo = consultId.getInt(1);		        		
           } while(consultId.moveToNext());    	
        }
		Consulta.editIdentificador(CargarMaterialesExcel.this, codigo+1, "material");
		return codigo;
		
	}
	
	private class DownloadTask extends AsyncTask<String, Void, Object> {
        protected String doInBackground(String... args) {
            CargarMaterialesExcel.this.cargarMateriales();
            return "Datos ya procesados (resultado)";
        }

        protected void onPostExecute(Object result) {
            Intent intent = new Intent(CargarMaterialesExcel.this, Configuraciones.class);
			startActivity(intent);
            if (CargarMaterialesExcel.this.pd != null) {
            	CargarMaterialesExcel.this.pd.dismiss();
            }
        }
   }    
}

	

